export const helper = {};
// 深拷贝
helper.clone = (origin) => {
  return JSON.parse(JSON.stringify(origin));
};
helper.formatTime = (dateTime) => {
  if (!dateTime) {
    return "0-0-0 0:0:0";
  }
  let date = new Date(dateTime); //时间戳为10位也就是秒需*1000，时间戳为13位也就是毫秒的话不需乘1000
  let Y = date.getFullYear() + "-";
  let M =
    (date.getMonth() + 1 < 10
      ? "0" + (date.getMonth() + 1)
      : date.getMonth() + 1) + "-";
  let D = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
  let h =
    (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":";
  let m =
    (date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes()) +
    ":";
  let s = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
  return Y + M + D;
};
helper.aggregateData = (data) => {
  const aggregated = {};

  // 遍历原始数据
  data.forEach((item) => {
    const { statDate, ...rest } = item;
    // 遍历剩余的键值对
    Object.entries(rest).forEach(([key, value]) => {
      if (!aggregated[key]) {
        aggregated[key] = { statDate: [], data: [] }; // 使用统一的 'data' 键名
      }
      // 将当前 statDate 和 value 添加到对应的数组中
      aggregated[key].statDate.push(statDate);
      aggregated[key].data.push(value); // 统一使用 'data' 键名存储值
    });
  });
  // 将聚合对象转换为数组格式
  return { data: Object.values(aggregated) };
};
helper.transformData=(data)=>{
  return data.map(item => {
    // 创建一个新的数组，首先添加 depName 的值
    const resultArray = [item.depName];
    // 按照特定顺序添加其他键的值（忽略 depName）
    for (let i = 1; i <= 6; i++) {
      const key = `data${i}`;
      if (item.hasOwnProperty(key)) {
        resultArray.push(item[key]);
      }
    }
    return resultArray;
  });
}
export const setupHelper = (app) => {
  app.config.globalProperties.$h = helper;
  app.config.globalProperties.$helper = helper;
};
